package com.level.restful.config;

/**
 * @author tqf
 * HIS服务调用代码配置
 */
public interface  HisServiceConfig {
    /**
     * 调用HIS参数形式
     */
    public static final String  POST_TYPE = "xml";
    /**
     * 调用HIS用户默认
     */
    public static final String  USER_ID = "YYZZ";

    public enum HisResult{
        SUCCESS("<ResponseCode>0</ResponseCode>","返回成功");

        private String code;
        private String massage;
        HisResult(String code, String massage) {
            this.code = code;
            this.massage = massage;
        }
        public String getCode(){
            return this.code;
        }
    }

    /**
     * 挂号相关
     */
    public enum Register{
        TWO_ZERO_ZERO_ONE("2001","签约建档"),
        TWO_ZERO_ZERO_TWO("2002","获取挂号科室医生列表"),
        TWO_ZERO_ZERO_THREE("2003","就诊卡充值(预留)"),
        TWO_ZERO_ZERO_FOUR("2004","病历本购买及打印（预留）"),

        TWO_ONE_ZERO_ONE("2101","获取门诊病历打印内容（预留）"),
        TWO_ONE_ZERO_TWO("2102","修改门诊病历打印标志（预留）"),

        TWO_TWO_ZERO_ONE("2201","获取挂号科室列表"),
        TWO_TWO_ZERO_TWO("2202","获取挂号科室医生列表"),
        TWO_TWO_ZERO_THREE("2203","执行挂号(预)结算"),
        TWO_TWO_ZERO_FOUR("2204","获取预约信息"),
        TWO_TWO_ZERO_FIVE("2205","获取科室医生分时段号源"),
        TWO_TWO_ZERO_SIX("2206","挂号预约提交"),
        TWO_TWO_ZERO_SEVEN("2207","挂号预约取消"),

        TWO_THREE_ZERO_ONE("2301","获取就诊记录"),
        TWO_THREE_ZERO_TWO("2302","获取费用明细"),
        TWO_THREE_ZERO_THREE("2303","缴费(预)结算"),

        TWO_FOUR_ZERO_ONE("2401","查询历史就诊信息"),
        TWO_FOUR_ZERO_TWO("2402","查询社保卡余额"),
        TWO_FOUR_ZERO_THREE("2403","查询医生排班信息（预留）"),

        TWO_SIX_ZERO_ONE("2601","清钞统计（预留）"),

        FOUR_ZERO_ZERO_ONE("4001","获取诊疗、药品价格");

        private String code;
        private String massage;
        private Register(String code,String massage){
            this.code = code;
            this.massage = massage;
        }
        public String getCode(){
            return this.code;
        }
    }

    /**
     * 住院
     */
    public enum Hospitalization {
        THREE_ZERO_ZERO_ONE("3001","获取住院患者信息"),
        THREE_ZERO_ZERO_TWO("3002","查询住院日汇总费用"),
        THREE_ZERO_ZERO_THREE("3003","查询住院日明细费用"),
        THREE_ONE_ZERO_ONE("3101","住院预交款充值");
        private String code;
        private String massage;

        private Hospitalization(String code,String massage){
            this.code = code;
            this.massage = massage;
        }
        public String getCode(){
            return this.code;
        }
    }

    /**
     * 支付相关
     */
    public enum PayRelevant{
        FIVE_ZERO_ZERO_ONE("5001","支付宝、微信号绑定与解绑"),
        NINE_ZERO_ZERO_ONE("9001","支付宝、微信订单生成(生成二维码)"),
        NINE_ZERO_ZERO_TWO("9002","支付宝、微信订单查询"),
        NINE_ZERO_ZERO_THREE("9003","支付宝、微信订单取消"),
        NINE_ZERO_ZERO_FOUR("9004","支付宝、微信订单退费"),
        NINE_ONE_ZERO_ONE("9101","获取对账需要的银行卡、支付宝、微信交易记录"),
        NINE_NINE_NINE_NINE("9999","读取医保卡号");
        private String code;
        private String massage;

        private PayRelevant(String code,String massage){
            this.code = code;
            this.massage = massage;
        }
        public String getCode(){
            return this.code;
        }
    }

    /**
     * 体检相关
     */
    public enum PhysicalExamination{
        SIX_ZERO_ZERO_ONE("6001","获取体检登记列表"),
        SIX_ZERO_ZERO_TWO("6002","获取总检信息"),
        SIX_ZERO_ZERO_THREE("6003","获取体检科室列表"),
        SIX_ZERO_ZERO_FOUR("6004","获取体检科室项目明细");
        private String code;
        private String massage;

        private PhysicalExamination(String code,String massage){
            this.code = code;
            this.massage = massage;
        }
        public String getCode(){
            return this.code;
        }
    }

    /**
     * 检验
     */
    public enum Inspection{
        TWO_FIVE_ZERO_ONE("2501","获取检验报告单列表"),
        TWO_FIVE_ZERO_TWO("2502","获取指定检验报告单的详细信息"),
        TWO_FIVE_ZERO_THREE("2503","修改报告单打印标志"),
        TWO_FIVE_ZERO_FOUR("2504","获取检查报告单列表"),
        TWO_FIVE_ZERO_FIVE("2505","获取指定检查报告单的详细信息");
        private String code;
        private String massage;

        private Inspection(String code,String massage){
            this.code = code;
            this.massage = massage;
        }
        public String getCode(){
            return this.code;
        }
    }

    /**
     * 排队叫号
     */
    public enum LineUp{
        FOUR_ONE_ZERO_ONE("4101","获取排队叫号科室列表"),
        FOUR_ONE_ZERO_TWO("4102","获取排队叫号医生列表"),
        FOUR_ONE_ZERO_THREE("4103","排队叫号取号");
        private String code;
        private String massage;

        private LineUp(String code,String massage){
            this.code = code;
            this.massage = massage;
        }
        public String getCode(){
            return this.code;
        }
    }


}
